package com.yidu.action;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.common.Pages;
import com.yidu.common.Tools;
import com.yidu.domain.ListenManufacture;
import com.yidu.service.ListenManufactureService;

/**
 * @title 制造Controller类 
 * @author 江宇
 * @dateTime 2019年1月16日
 */
@Controller
@RequestMapping("/listenManufacture")
public class ListenManufactureController {
	
	@Resource
	ListenManufactureService listenManufactureService;
	
	
	 /**
     * @title 根据生产计划ID查询制造 
     * @param Map
     * @return List
     * @author 江宇
     * @dateTime 2018年12月19日
     * @versions 1.0
     */
	@RequestMapping("/findByProdId")
	@ResponseBody
	
	public Map<String, Object> findByProdId(ListenManufacture mf) {
		Map<String, Object> map=new HashMap<>();
		//生产计划ID不为空赋值
		if(!Tools.isEmpty(mf.getProdId())) {
			map.put("prodId", mf.getProdId());
		}
		//生产状态不为空赋值
		if(mf.getPdStatus()!=null) {
			map.put("pdStatus", mf.getPdStatus());
		}
		
		//乐器ID不为空赋值
		if(!Tools.isEmpty(mf.getMuId())) {
			map.put("muId", mf.getMuId());
		}
		 
		//前台传来的页数和行数不为空赋值
		if(mf.getPage()!=null && mf.getLimit()!=null) {
			Pages page=new Pages();
			page.setCurPage(mf.getPage());
			page.setMaxResult(mf.getLimit());
			
			map.put("firstRows", page.getFirstRows());
			map.put("maxResult", page.getMaxResult());
		}
		
		//调用根据生产计划ID查询制造的方法
		List<ListenManufacture> list=listenManufactureService.findByProdId(map);
		//调用根据生产计划ID查询制造行数的方法
		int rows=listenManufactureService.findByProdIdCount(map);
		//创建制造List集合
		List<ListenManufacture> mfList=new ArrayList<>();
		//循环查询的根据生产计划ID查询制造List集合
		for (ListenManufacture listenManufacture : list) {
			//创建制造类对象
			ListenManufacture mfs=new ListenManufacture();
			//赋值
			BeanUtils.copyProperties(listenManufacture, mfs);
			//如果制造时间不等于空
			if(listenManufacture.getMfTime()!=null) {
				mfs.setStringMfTime(Tools.SDF_TIME.format(listenManufacture.getMfTime()));
			}else {
				mfs.setStringMfTime("");
			}
			
			mfList.add(mfs);
		}
		
		Map<String, Object> layuiMap=new HashMap<>();
		
		layuiMap.put("code", 0);
		layuiMap.put("msg", "");
		layuiMap.put("count",rows);
		//将list放入map中
		layuiMap.put("data", mfList);
		return layuiMap;
	}
	
	
	/**
     * @title  根据生产明细ID查询制造数据
     * @param String
     * @return Map
     * @author 江宇
     * @dateTime 2018年12月19日
     * @versions 1.0
     */
	@RequestMapping("/findManufactureNumber")
	@ResponseBody
	public List<ListenManufacture> findManufactureNumber(String prodId) {
		 
		return listenManufactureService.findManufactureNumber(prodId);
	}
	
	
	/** 
     * @title 增加制造 
     * @param ListenManufacture
     * @return int
     * @author 江宇
     * @dateTime 2018年12月20日
     * @versions 1.0
     */
	@RequestMapping("/addManufacture")
	@ResponseBody
	public int addManufacture(String manufactureText,Integer noNumber,String prodId,HttpSession session) {
		 
		return listenManufactureService.addManufacture(manufactureText,noNumber,prodId,session);
	}
}

